package hasthi.metamodel.resource;

import hasthi.common.HasthiException;
import hasthi.common.constants.WSDMConstants.SystemState;
import hasthi.manager.ManagedResourceType;

import java.util.Collection;

import javax.xml.namespace.QName;

public interface ManagedResource {
    public static enum ResourceType{Service,ComputeNode,Host,TransientService};
    public abstract String getProperty(String name)throws HasthiException;
    public abstract String getState()throws HasthiException ;
    public abstract QName getQName();    
    public abstract String getManagerAgentURL();
    public abstract String getCategory();
    public abstract String getType();
    public Collection<String> getProperties();
    public ManagedResourceType toXml(boolean summerized)throws HasthiException;
    public long getLastUpdated();
    public boolean isActive();
    public abstract String getName();    
    
 
}